Medical devices, for example, anesthesia devices, are usually controlled nowadays by software and comprise components with a certain information technological infrastructure, which are, as a rule, designed with a microprocessor and programs running on them. Making different versions of the software causes different software versions to be able to be installed in the components of the device.
It is found problematic that not all combinations of program versions lead to an operational state of the device. Certain combinations prove to be incompatible, erroneous and therefore unacceptable and must be checked before putting into operation and/or before use of the device.
It is necessary for the medical devices being used to be inspected continuously for compliance with safety regulations. This checking is usually carried out manually by a technician. It is also checked in this case whether compatible software versions are always installed for controlling the device or for operating the device.
It is known in the state of the art that certain versions of the installed programs may lead to a disturbance or to an error. Therefore, one way of avoiding unacceptable combinations was to replace the entire software package (i.e., to replace all of the programs) if any change is made on the device or on a device component. This procedure is time-consuming and expensive, on the one hand, and is prone to error, on the other hand.
Furthermore, it is known that the installed program versions (e.g., patches or other correction deliveries of the software) can be checked by a service technician on site. All new deliveries of versions must then be validated (usually by the manufacturer of the device). The device could be delivered to the medical facility (e.g., hospital) or put into operation only after the acceptability of the program could be checked, which usually leads to considerable delays. These approaches are time-consuming and also prone to error because they are carried out manually.